package jhlee42;

public class J14Overloading {
	// method 다중 정의 overLoading
	// 메서드 이름은 동일
	// 메서드의 인수목록 중 인수의 자료형이 다름.
	// 메서드의 인수목록 중 인수의 갯수가 다름.
	// 단, 메서드의 반환형은 다중정의와 관련없음.
	
	// 계산기 프로그램의 사칙연산을 메서드로 정의
	// Plus, Minus, Multiply, divide
	
/*	public int plus(int x, int y){
		return x+y;
	}
	public int plusfloat(float x, float y){
		return x+y;
	}
	public int plusdouble(double x, double y){
		return x+y;
	}*/
	
	// 메서드 다중정의를 도입하지 않을 경우
	// 메서드의 기능이 같음에도 불구하고
	// 메서드의 이름은 각각 다르게 정의해야 함.
	//-> 메서드 이름을 외우기 불편함
	
	// 메서드 다중정의 도입
	public int plus(int x, int y){
		return x+y;
	}
	public int plus(float x, float y){
		return x+y;
	}
	public int plus(double x, double y){
		return x+y;
	}
	//2. 인수 갯수가 다름
	public int plus(int x, int y,int z){
		return x+y+z;
	}
	
	
	
	// 3. 메서드의 반환형이 다름
	public String plus(int x, int y,int z){
		return null;
	}
	
	
	
	
	
	
	
	
	
}
